package com.hn.common.utils.ding.process;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 描述: 审批流注解
 *
 * @author fei
 * @create 2019-06-27 16:06
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface Process {
    /**
     * 审批流表单名称
     */
    String name() default "";

    /**
     * 读取内容转表达式 (如: 0=男,1=女,2=未知)
     */
    String readConverterExp() default "";

    /**
     *  选项 (审批模板属性)
     */
    String options() default "";

    /**
     *  表单组件类型(审批模板属性)
     */
    ProcessFormType formType() default ProcessFormType.TextField;

    /**
     *  单位 (审批模板属性)
     *   数字组件单位属性 : 元 万元 ...
     *  日期区间组件单位属性 只能填小时和天
     */
    String unit() default "";

    /**
     *  是否必填(审批模板属性)
     */
    boolean required() default false;

    /**
     *  金额组件 (审批模板属性)
     *  是否需要大写 默认是需要;
     *     1:不需要大写,
     *     空或者0:需要大写
     */
    String notUpper() default "1";

    /**
     *  明细组件对应的java类(审批模板属性)
     */
    Class children() default Object.class;
}
